When applications are being integrated that use different data structures, a schema mapping is used to transform the data from a source system to a target system. A schema mapping is a declarative specification of the relationship between a source schema of the source system and a target schema of the target system. An eXtensible Markup Language (XML) map is used to transform an XML document, compliant to the source schema, into another XML document, compliant to the target schema.
Different schemas may be used within the context of a single application, such as a solution in which data stored for the purpose of searching/matching is in a format that lends itself to high performance processing (e.g., denormalized, bucketed/hashed), whereas the same information may be stored in normalized structures to facilitate management through Service Oriented Architecture (SOA) services leveraged by client applications.
Mapping and translation technologies exist today that allow for correlating and generating structural transformations between objects having different structures. As data structures change, the mapping between the objects change and new transforms are generated.
However in addition to the structural mapping, applications generally require contextual values to facilitate processing of the data, for example, invoking a SOA service. These contextual values may be affiliated with the user's settings, the system configuration, or data processing configuration, etc., all of which may be related to the structure of the data itself, but managed independently by the source system and the target system. These contextual data may or may not be shared between the applications being integrated.